package com.AdvancedDemos.集合.双列集合;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;

public class Map集合统计投票人数案例 {
    public static void main(String[] args) {
        //1.产生80个学生选择的景点数据
        List<String> data = new ArrayList<>();
        String[] selections = {"A", "B", "C", "D"};//表示4个景点
        Random rd = new Random();
        for (int i = 0; i < 80; i++) {
            //每次模拟一个学生选择一个景点存入到集合中去
            int index = rd.nextInt(4);//随机产生0-3
            data.add(selections[index]);
        }
        System.out.println(data);

        //2.开始统计每个景点的投票人数
        //准备一个Map集合用于统计最终结果
        HashMap<String, Integer> result = new HashMap<>();
        for (String item : data) {
            if (result.containsKey(item)) {
                //说明这个景点之前统计过
                result.put(item, result.get(item) + 1);
            } else {
                //说明这个景点是第一次统计
                result.put(item, 1);
            }
        }

        System.out.println(result);//{A=19, B=20, C=17, D=24}

    }
}
